================================================================================
ADAM ON-DRIVE TAPE FORMATTING -- COMPLETE PACKAGE v1.1
For: John Lundy (Lundy Electronics)  |  ColecoVisionADAM.com / AdamArchive.org
2026-06-14
================================================================================
Restores the "lost 6801" capability: the ADAM itself formats blank data packs
(writes block headers) in BOTH center (HE) and right (GW) directory formats.
v1.1 adds: a true 2KB format-only firmware (drop-in 68701), the A/B switch
hardware design, and a full DDP test suite. All v1.0 material retained.

01_Documentation/
   ADAM_OnDrive_Formatting_Lundy_Reference_v1_0.docx  <- MAIN DOCUMENT, read first
   DDP_FORMAT_DECODED.txt      Byte-level decode of a working pack's directory.
   GW_vs_HE_DECODED.txt        Exact center-vs-right differences.
   SIMULATION_REPORT.txt       FORMAT executed on a 6801 simulator.
   DDP_TEST_REPORT.txt         NEW. All-pass test results for both blank packs.

02_EPROM_Images_to_Burn/
   external_8k_PathB/          Path B: 6801 expanded mode + external 2764.
      tape6801_format_8k.hex/.bin   Stock (verbatim) + FORMAT. Needs daughterboard.
   format_only_2k_PathD/       Path D: dedicated FORMAT-ONLY 2KB image.
      format_only_2k.hex/.bin       Drop-in 68701, NO daughterboard. Formats only;
                                    does not read/load tapes. Use with A/B switch.
                                    Verified end-to-end in simulation (HE + GW).

03_Source/
   TAPE6801_COMBINED.ASM       Entry vector + FORMAT + pointer to stock.
   FORMAT6801.ASM              FORMAT extension source (annotated).

04_DDP_Tools_and_Reference_Packs/
   make_ddp.py                 Generate blank initialized packs:
                                  python3 make_ddp.py HE out.ddp   (or GW)
   blank_HE_center.ddp         Byte-identical to a known-good HE pack.
   blank_GW_right.ddp          Byte-identical to a known-good GW pack.

05_Simulation_and_Tests/
   m6801.py / asm6801.py       6801 core + assembler.
   simulate.py                 Verifies the FORMAT extension (stock+FORMAT).
   simulate_formatonly.py      NEW. Verifies the 2KB format-only image end-to-end.
   test_ddps.py                NEW. Tests blank packs vs EOS rules + byte-identity.
   he_tape_stream.bin          Captured HE tape byte stream.

06_AB_Switch_Hardware/
   AB_SWITCH_DESIGN.txt        NEW. Two-6801 A/B switch (manual toggle, reset-hold):
                               signal classification, 74CBT3245 bus switches,
                               reset steering, BOM, open items for Lundy.

--------------------------------------------------------------------------------
THE FOUR HARDWARE PATHS (pick per Lundy)
--------------------------------------------------------------------------------
  A  MC68701 single-chip 2KB, stock+FORMAT  -> needs firmware compaction. (not built)
  B  6801 expanded mode + external 2764     -> built: external_8k_PathB. daughterboard.
  C  Modern MCU (Arduino Mega)              -> from-scratch units. (roadmap)
  D  FORMAT-ONLY 2KB 68701 + A/B switch     -> built: format_only_2k + AB design.
     RECOMMENDED for a dedicated formatter: true drop-in, no ROM-mapping board;
     A/B toggle swaps between stock drive and formatter.

--------------------------------------------------------------------------------
HOW TO CALL FORMAT (both images)
--------------------------------------------------------------------------------
  $00CC (F_TYPE)=0 HE center / nonzero GW right ; $00A9 drive ; then enter FORMAT.
  (Path B: JSR $E000.  Path D: FORMAT at $F900, reached via the AdamNet command.)

--------------------------------------------------------------------------------
TEST STATUS
--------------------------------------------------------------------------------
  DDP images: ALL TESTS PASS (size, signature, directory, accounting, byte-ID).
  FORMAT firmware: headers valid for HE + GW in simulation (both stock+FORMAT
    and the 2KB format-only image).
  Remaining: real-silicon 70us bit-cell confirmation (scope / MAME).
================================================================================
